This invention relates generally to semiconductor memory devices, and particularly to refreshing memory storage cells in a dynamic random access memory (DRAM).
Semiconductor devices are used for integrated circuits in a wide variety of electrical and electronic applications, such as computers, cellular telephones, radios, and televisions. One particular type semiconductor device is a semiconductor storage device, such as random access memory (RAM) and flash memory. These semiconductor storage devices use an electrical charge to store information. Most semiconductor storage devices have their storage cells arranged in a two-dimensional array with two sets of select lines, wordlines and bitlines. An individual storage cell is selected by first activating its wordline and then its bitline.
Widely used forms of RAM include dynamic RAM (DRAM) such as synchronous DRAM (SDRAM). SDRAM and DRAM memory cells store information, bits (binary digits), in the form of an electrical charge on a capacitor. Because the electrical charge on the capacitor dissipates (leaks) over time, the electrical charge must be refreshed periodically. To refresh the electrical charge on the capacitor, the electrical charge currently on the capacitor is read (detected), amplified, and then written back to the capacitor.
The majority of SDRAM memory devices available today have dedicated memory cell refresh circuits built into the memory device. These circuits normally comprise a counter that specifies a wordline, and when a refresh operation is requested by the user, the specified wordline is selected and all storage cells (capacitors) connected to the specified wordline are refreshed. After the refresh operation is complete, the counter is incremented (or decremented) depending on its particular implementation.
This approach has several disadvantages; a first being that the user does not know which wordline is being refreshed during a refresh operation and therefore must deactivate all wordlines. Second, the user cannot specify which parts of memory need to be refreshed and the entire memory is refreshed. This leads to refreshing memory cells that are not used, expending unnecessary power and time refreshing memory cells containing no data.
Alternatively, the user of an SDRAM circuit can emulate a refresh command with conventional SDRAM commands by sending an activate command to a wordline followed by a precharge (deactivate) command. This method allows the user to control which wordlines are refreshed. However, the use of this method requires the submission of two commands (an activate command followed by a deactivate command) per refresh cycle. Also, the wordline address has to be provided with each refresh cycle during the submission of the activate command.
A need has therefore arisen for a refresh circuit and method that allows the user to specify which portions of the memory storage device to refresh and to determine which wordline is being refreshed with the current operation without needed to specifically specifying the wordline with each refresh operation.
In one aspect, the present invention provides a semiconductor memory device comprising a memory comprising a plurality of memory storage cells to store binary data, a command interface coupled to the memory, the command interface containing circuitry to decode commands provided to the device by a user and provide the decoded commands to control the operation of the device, a refresh circuit coupled to the memory and the command interface, the refresh circuit to provide an address of a portion of the memory to be refreshed, the refresh circuit comprising a programmable counter having a first input coupled to the command interface and a second input coupled to an address bus, the programmable counter containing circuitry to store an address provided on the address bus and to provide the stored address on an output of the refresh circuit, and a selection circuit having an input coupled to the command interface and an output coupled to the second input of the programmable counter, the selection circuit having circuitry to pass the address provided by the address bus to the programmable counter based on a command from the command interface.
In another aspect, the present invention provides a dynamic random access memory (DRAM) device comprising a memory containing a plurality of memory cells to store binary data, each memory cell including a transistor coupled in series with a capacitor, a command interface coupled to the memory, the command interface containing circuitry to decode commands provided to the device by a user and provide the decoded commands to control the operation of the device, a refresh circuit coupled to the memory and the command interface, the refresh circuit containing circuitry to provide an address of a portion of the memory to be refreshed, wherein the command interface decodes a single external refresh command into first and second internal commands, the first internal command being a bank activate (RAS) command, activating a portion of the memory corresponding to an address received from an external address bus, and the second internal command being a precharge (PRE) command to the portion of memory refreshed by the RAS command.
In yet another aspect, the present invention provides a method for refreshing a contiguous block of memory, the method comprising the steps (a) specifying an address corresponding to a start of the contiguous block of memory, (b) issuing a first memory refresh command, (c) issuing a second memory refresh command, and (d) repeating step (c) until the contiguous block of memory is refreshed.
The present invention provides a number of advantages. For example, use of a preferred embodiment of the present invention allows the user to specify which group of memory cells of a dynamic random access memory (DRAM) device to refresh, reducing the number of memory cells to refresh when only a percentage of the DRAM is being used. This partial refresh permits a considerable savings in power consumption (reducing power dissipation and increasing battery life) and time (reducing the number of memory cells requiring refresh).
Also, use of a preferred embodiment of the present invention allows the user to specify an initial wordline address of a block of memory cells requiring refresh during the first refresh operation and in subsequent refresh operations, the user is not required to specify subsequent wordline addresses. This reduces the computation load on the user, allow it to do other tasks. In addition, it keeps the overall power consumption of the application, which includes the DRAM circuit, low. This is because only the initial wordline address is transferred, thus reducing the signal activity on the external address line.
Additionally, use of a preferred embodiment of the present invention requires only a minor modification to existing refresh circuits, including the changing the counter to a programmable counter.
Also, use of a preferred embodiment of the present invention allows the user to know the address of the particular wordline being refreshed in the refresh operation. By knowing the address of the particular wordline, the user does not have to deactivate all wordlines in the memory storage device, only wordlines inside the memory bank the wordline being refreshed. This enables the user to activate wordlines inside banks that are not being refreshed to accelerate memory accesses.
Additionally, use of a preferred embodiment of the present invention eliminates the need of the user to issue a precharge command for the bank of memory containing the refreshed memory cells. This eliminates some of the overhead involved in the refresh operation, simplifying the task performed by the user.